home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 October / EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso / Aminet / comm / bbs / FileLister144.lha / Rexx / DeleteMarks.trans < prev    next >
Text File  |  1994-09-13  |  4KB  |  193 lines

  1. /*                                                        */
  2. /* Markierte Files loeschen                               */
  3. /*                                                        */
  4. /* Geschrieben von Mathias Supp                           */
  5. /*                                                        */
  6.  
  7. options results
  8.  
  9. userpath='USER:'
  10.  
  11. userinfo a ; uname=result
  12. systeminfo m ; restzeit=result
  13. systeminfo r ; baudrate=result
  14.  
  15. print ''
  16.  
  17. if ~exists(userpath||'send-'||uname) then call nixfile
  18. if ~exists(userpath||'length-'||uname) then call nixfile
  19.  
  20. open('files',userpath||'send-'||uname,'R')
  21. open('filelength',userpath||'length-'||uname,'R')
  22. gesla=readln('filelength')
  23. gesamtlaenge=value('gesla')
  24.  
  25. cls
  26.  
  27. print
  28. print 'Du hast folgende Files markiert :'
  29. print '----------------------------------'
  30.  
  31. i=1
  32. do while ~eof('files')
  33.   file.i=readln('files')
  34.   name.i=readln('files')
  35.   laenge.i=readln('files');
  36.   if file.i='' then
  37.     i=i-1
  38.   else
  39.     print right(i,3)||'. '||left('"'||name.i||'"',22)||' ('||right(laenge.i,7)||' Bytes) ['||right(trunc(laenge.i/60/(baudrate/11)+0.5),2)||'min]'
  40.   i=i+1
  41. end
  42. i=i-1
  43.  
  44. close('files')
  45. close('filelength')
  46.  
  47. print '----------------------------------'
  48. print 'Gesamtlaenge : '||right(gesamtlaenge,8)||' / Files : 'i
  49. print ' '
  50.  
  51. maxfiles=i
  52. num=i
  53. call deletefiles
  54. i=num
  55.  
  56. if num>0 then do
  57.  
  58.   if maxfiles~=i then do
  59.  
  60.     open('files',userpath||'send-'||uname,'W')
  61.     open('filelength',userpath||'length-'||uname,'W')
  62.     writeln('filelength',gesamtlaenge)
  63.     close('filelength')
  64.  
  65.     do j=1 to i
  66.       writeln('files',file.j)
  67.       writeln('files',name.j)
  68.       writeln('files',laenge.j);
  69.     end
  70.  
  71.     close('files')
  72.  
  73.     print ''
  74.     print 'Neue Gesamtlaenge : '||right(gesamtlaenge,8)||' / Files : '||i
  75.   end
  76.  
  77.   print ''
  78.   approxtime=trunc(gesamtlaenge/60/(baudrate/11)+0.5)
  79.   print 'Vorraussichtliche Zeit fuer das Download : '||approxtime||' min'
  80.   if restzeit-approxtime<0 then do
  81.     print ''
  82.     print 'Du hast leider nicht genuegend Online-Zeit !!'
  83.     print 'Dir fehlen ca. '||restzeit-approxtime||' Minuten'
  84.   end
  85.   else
  86.     print 'Du hast nach dem Download noch '||restzeit-approxtime||' Minuten uebrig !'
  87.  
  88.   print
  89.   continue
  90.  
  91. end
  92. exit 0
  93.  
  94. nixfile:
  95.  
  96.   print 'Es wurden keine Files markiert !'
  97.  
  98.   exit 0
  99.  
  100. /* ---------------------------------------------------------------- */
  101.  
  102. deletefiles:
  103.  
  104.  
  105. print
  106.  
  107. file='****'
  108.  
  109. do while (file~='RESULT')&(num>0)
  110.  
  111.   query 'Zu loeschendes File ("*" fuer alle) : ' ; file=result
  112.   if file='*' then
  113.     num=0
  114.  
  115.   if (file~='RESULT')&(num>0) then do
  116.  
  117.     i1=1
  118.     delnum=0
  119.     deleted.delnum=0
  120.     do while i1<=length(file)
  121.  
  122.       i2=pos(',',file,i1)
  123.       if i2=0 then
  124.         i2=length(file)+1
  125.  
  126.       partfile=substr(file,i1,i2-i1)
  127.       i1=i2+1
  128.  
  129.       if datatype(partfile)='NUM' then do
  130.         if (delnum~=0)|(deleted.delnum~=0) then do
  131.           do k=0 to delnum
  132.             if (partfile>deleted.k)&(deleted.k~=0) then
  133.               partfile=partfile-1
  134.           end
  135.         end
  136.         if (partfile>0)&(partfile<num+1) then
  137.           partfile=name.partfile
  138.       end
  139.  
  140.       do j=1 to num while partfile~=name.j
  141.       end
  142.  
  143.       if partfile=name.j then do
  144.         deleted.delnum=j
  145.         delnum=delnum+1
  146.         deleted.delnum=0
  147.         gesamtlaenge=gesamtlaenge-laenge.j
  148.         print 'File '||left('"'||partfile||'"',22)||' ('||right(laenge.j,7)||' Bytes) wurde geloescht. (Gesamt : '||right(gesamtlaenge,8)||')'
  149.         do k=j to num-1
  150.           k1=k+1
  151.           file.k=file.k1
  152.           name.k=name.k1
  153.           laenge.k=laenge.k1
  154.         end
  155.         num=num-1
  156.       end
  157.       else
  158.         print 'File '||left('"'||partfile||'"',22)||' konnte nicht geloescht werden !'
  159.  
  160.     end
  161.     print
  162.     continue
  163.     if num>0 then
  164.       call showfiles
  165.   end
  166. end
  167. if num=0 then do
  168.   address command 'delete > nil: "'||userpath||'send-'||uname||'"'
  169.   address command 'delete > nil: "'||userpath||'length-'||uname||'"'
  170. end
  171.  
  172.  
  173. return
  174.  
  175. showfiles:
  176.  
  177. cls
  178.  
  179. print
  180. print 'Du hast nun noch folgende Files markiert :'
  181. print '------------------------------------------'
  182.  
  183. q=1
  184. do q=1 to num
  185.     print right(q,3)||'. '||left('"'||name.q||'"',22)||' ('||right(laenge.q,7)||' Bytes) ['||right(trunc(laenge.q/60/(baudrate/11)+0.5),2)||'min]'
  186. end
  187.  
  188. print '------------------------------------------'
  189. print 'Gesamtlaenge : '||right(gesamtlaenge,8)||' / Files : 'num
  190. print ' '
  191.  
  192. return
  193.